---
title: AstroサイトをSpaceにデプロイする
description: SpaceにAstroサイトをデプロイする方法。
type: deploy
i18nReady: true
---
import InstallGuideTabGroup from '~/components/TabGroup/InstallGuideTabGroup.astro';
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro'

[Deta Space](https://deta.space/developers)は、クラウドに存在するパーソナルコンピュータ、つまり「パーソナルクラウド」です。あなた自身の「スペース」で、あなた自身のためにアプリを構築し、実行できます。作ったアプリは公開でき、世界中の人々が利用可能になります。

このガイドには、Spaceでサイトを構築するためのステップバイステップの手順が含まれています。静的なAstroサイトと、[`@astrojs/node`アダプタ](/ja/guides/integrations-guide/node/)を使用してサーバーサイドでレンダリングされたAstroサイトの両方がサポートされています。

:::note
Spaceは現在[Node.js 16のみをサポート](https://deta.space/docs/en/build/quick-starts/node/)しているため、v3.0以上のAstroプロジェクトには以下の手順を適用できません。
:::

## 前提条件

AstroのサイトをSpaceにプッシュするには、まず次のことを確認してください.

- [Spaceアカウント](https://deta.space)を作成します。
- [Space CLI](https://deta.space/docs/en/build/reference/cli)をインストールし、ログインします。

Astroプロジェクトのディレクトリ**内**にSpaceプロジェクトを作成します。CLIを実行し、画面の指示に従ってください。

```bash
space new
```

:::note
Space CLIは、アプリの設定を自動検出しようとします。提案された設定を受け入れ、あなたがデプロイしたいAstroアプリのタイプに応じて、以下の指示に従ってください。
:::


## プロジェクトの設定

### 静的サイト

Space CLIによって生成されたプロジェクトのルートにある`Spacefile`ファイルに以下の変更を加えてください。

1. エンジンを`static`に変更します。
2. `commands`のリストにAstroのビルドコマンドを追加します。
3. Astroが生成した`dist`ディレクトリを`serve`に指定します。

```yaml title="Spacefile" {6,8,9}
# Spacefileドキュメント: https://deta.space/docs/en/build/reference/spacefile
v: 0
micros:
  - name: static-astro-in-space
    src: .
    engine: static
    commands:
      - npm run build
    serve: dist
```

### サーバーサイドでレンダリングされたサイト


Space CLIによって生成されたプロジェクトのルートにある`Spacefile`ファイルに以下の変更を加えてください。

1. `nodejs16`エンジンを設定します。
2. `build`コマンドを追加します。
3. Astroが生成した`dist`ディレクトリを`include`に指定します。
4. nodeコマンドを`run`に指定します。

```yaml title="Spacefile" {6,8,10,11}
# Spacefileドキュメント: https://deta.space/docs/en/build/reference/spacefile
v: 0
micros:
  - name: ssr-astro-in-space
    src: .
    engine: nodejs16
    commands:
      - npm run build
    include:
      - dist
    run: "node ./dist/server/entry.mjs"
```

## デプロイ方法

以下のコマンドでプロジェクトをデプロイします。

```bash
space push
```

これでビルドプロセスが実行され、Astroアプリにアクセスできる新しい[Space app instance](https://deta.space/docs/en/build/fundamentals/development/builder-instance#for-testing)が作成されます。

デフォルトでは、スペースアプリはプライベートであり、あなただけがアクセスできます。

アプリを他の人に公開したい場合は、[Public Routes](https://deta.space/docs/en/build/reference/spacefile#public_routes)を使ってアプリの一部を公開できます。または、[Release](https://deta.space/docs/en/publish/releasing#releases)を作成すれば、他の人があなたのアプリを自分専用のクラウドにインストールできます。

## 次のステップ

- [Spaceプロジェクトにさらに機能を追加する](https://deta.space/docs/en/build/fundamentals/the-space-runtime/micros#adding-a-micro)
- [Spaceプロジェクトのデータを保存する](https://deta.space/docs/en/build/fundamentals/data-storage#content)
- [スペースアプリを起動する](https://deta.space/docs/en/publish/releasing#releases)

## 例

- [Astro in Space](https://github.com/BogDAAAMN/astro-in-space) – GitHub
